package com.tbit.uqbike.client.dao.log;

import com.tbit.uqbike.client.pojo.MachineFaultLog;
import org.apache.ibatis.annotations.Param;

/**
 * 故障上报日志
 *
 * @Author:BUGTian
 * @DATE: 2023/5/9
 */
public interface MachineFaultLogDao {

    /**
     * 查询n天内连续多少次被用户上报故障
     *
     * @param machineId
     * @param day
     * @param count
     * @return
     */
    Integer getCountByMachineIdAndDay(@Param("machineId") Integer machineId, @Param("day") Integer day, @Param("count") Integer count);

    /**
     * 插入日志
     *
     * @param machineFaultLog
     */
    void insert(MachineFaultLog machineFaultLog);

    /**
     * 根据车辆id查询最新的一条上报记录
     *
     * @param machineId
     * @return
     */
    MachineFaultLog selectNewestLog(@Param("machineId") Integer machineId);

    /**
     * @description: 查询n天内同一辆车连续多少次被用户提交相同的意见反馈
     * @author: mo.shanyong
     * @date: 2024/11/19 19:29
     * @param: machineId 车辆Id
     * @param: day 设置的天数
     * @param: faults 故障类型
     * @return: java.lang.Integer
     */
    Integer getCountByMaIdAndDayAndRekFts(@Param("machineId") Integer machineId,
                                                     @Param("day") Integer day,
                                                     @Param("remark") String remark,
                                                     @Param("faults") String faults);
}
